home *** CD-ROM | disk | FTP | other *** search
Emacs Compiled Lisp | 1992-02-04 | 7.9 KB |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: Emacs Compiled Lisp
(other/emacsCompiledLisp).
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
1%
| dexvert
| Emacs Compiled Lisp (other/emacsCompiledLisp)
| magic
| Unsupported |
1%
| dexvert
| Combustion 2 Particle Library (other/combustion2ParticleLibrary)
| ext
| Unsupported |
100%
| file
| Emacs v18 byte-compiled Lisp data
| default
| |
99%
| file
| data
| default
| |
100%
| gt2
| Kopftext: '(provide (quote float))
| default (weak)
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
| |
100%
| xdgMime
| text/x-emacs-lisp
| default (weak)
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0a 28 70 72 6f 76 69 64 | 65 20 28 71 75 6f 74 65 |.(provid|e (quote|
|00000010| 20 66 6c 6f 61 74 29 29 | 0a 0a 28 64 65 66 63 6f | float))|..(defco|
|00000020| 6e 73 74 20 65 78 70 2d | 62 61 73 65 20 32 20 22 |nst exp-|base 2 "|
|00000030| 5c 0a 42 61 73 65 20 6f | 66 20 65 78 70 6f 6e 65 |\.Base o|f expone|
|00000040| 6e 74 20 69 6e 20 74 68 | 69 73 20 66 6c 6f 61 74 |nt in th|is float|
|00000050| 69 6e 67 20 70 6f 69 6e | 74 20 72 65 70 72 65 73 |ing poin|t repres|
|00000060| 65 6e 74 61 74 69 6f 6e | 2e 22 29 0a 0a 28 64 65 |entation|.")..(de|
|00000070| 66 63 6f 6e 73 74 20 6d | 61 6e 74 69 73 73 61 2d |fconst m|antissa-|
|00000080| 62 69 74 73 20 32 34 20 | 22 5c 0a 4e 75 6d 62 65 |bits 24 |"\.Numbe|
|00000090| 72 20 6f 66 20 73 69 67 | 6e 69 66 69 63 61 6e 74 |r of sig|nificant|
|000000a0| 20 62 69 74 73 20 69 6e | 20 74 68 69 73 20 66 6c | bits in| this fl|
|000000b0| 6f 61 74 69 6e 67 20 70 | 6f 69 6e 74 20 72 65 70 |oating p|oint rep|
|000000c0| 72 65 73 65 6e 74 61 74 | 69 6f 6e 2e 22 29 0a 0a |resentat|ion.")..|
|000000d0| 28 64 65 66 63 6f 6e 73 | 74 20 64 65 63 69 6d 61 |(defcons|t decima|
|000000e0| 6c 2d 64 69 67 69 74 73 | 20 36 20 22 5c 0a 4e 75 |l-digits| 6 "\.Nu|
|000000f0| 6d 62 65 72 20 6f 66 20 | 64 65 63 69 6d 61 6c 20 |mber of |decimal |
|00000100| 64 69 67 69 74 73 20 65 | 78 70 65 63 74 65 64 20 |digits e|xpected |
|00000110| 74 6f 20 62 65 20 61 63 | 63 75 72 61 74 65 2e 22 |to be ac|curate."|
|00000120| 29 0a 0a 28 64 65 66 63 | 6f 6e 73 74 20 65 78 70 |)..(defc|onst exp|
|00000130| 74 2d 64 69 67 69 74 73 | 20 32 20 22 5c 0a 4d 61 |t-digits| 2 "\.Ma|
|00000140| 78 69 6d 75 6d 20 70 65 | 72 6d 69 74 74 65 64 20 |ximum pe|rmitted |
|00000150| 64 69 67 69 74 73 20 69 | 6e 20 61 20 73 63 69 65 |digits i|n a scie|
|00000160| 6e 74 69 66 69 63 20 6e | 6f 74 61 74 69 6f 6e 20 |ntific n|otation |
|00000170| 65 78 70 6f 6e 65 6e 74 | 2e 22 29 0a 0a 28 64 65 |exponent|.")..(de|
|00000180| 66 63 6f 6e 73 74 20 6d | 61 78 62 69 74 20 28 31 |fconst m|axbit (1|
|00000190| 2d 20 6d 61 6e 74 69 73 | 73 61 2d 62 69 74 73 29 |- mantis|sa-bits)|
|000001a0| 20 22 5c 0a 4e 75 6d 62 | 65 72 20 6f 66 20 68 69 | "\.Numb|er of hi|
|000001b0| 67 68 65 73 74 20 62 69 | 74 22 29 0a 0a 28 64 65 |ghest bi|t")..(de|
|000001c0| 66 63 6f 6e 73 74 20 6d | 61 6e 74 69 73 73 61 2d |fconst m|antissa-|
|000001d0| 6d 61 78 76 61 6c 20 28 | 31 2d 20 28 61 73 68 20 |maxval (|1- (ash |
|000001e0| 31 20 6d 61 78 62 69 74 | 29 29 20 22 5c 0a 4d 61 |1 maxbit|)) "\.Ma|
|000001f0| 78 69 6d 75 6d 20 70 65 | 72 6d 69 73 73 61 62 6c |ximum pe|rmissabl|
|00000200| 65 20 76 61 6c 75 65 20 | 6f 66 20 6d 61 6e 74 69 |e value |of manti|
|00000210| 73 73 61 22 29 0a 0a 28 | 64 65 66 63 6f 6e 73 74 |ssa")..(|defconst|
|00000220| 20 6d 61 6e 74 69 73 73 | 61 2d 6d 69 6e 76 61 6c | mantiss|a-minval|
|00000230| 20 28 61 73 68 20 31 20 | 6d 61 78 62 69 74 29 20 | (ash 1 |maxbit) |
|00000240| 22 5c 0a 4d 69 6e 69 6d | 75 6d 20 70 65 72 6d 69 |"\.Minim|um permi|
|00000250| 73 73 61 62 6c 65 20 76 | 61 6c 75 65 20 6f 66 20 |ssable v|alue of |
|00000260| 6d 61 6e 74 69 73 73 61 | 22 29 0a 0a 28 64 65 66 |mantissa|")..(def|
|00000270| 63 6f 6e 73 74 20 66 6c | 6f 61 74 69 6e 67 2d 70 |const fl|oating-p|
|00000280| 6f 69 6e 74 2d 72 65 67 | 65 78 70 20 22 5e 5b 20 |oint-reg|exp "^[ |
|00000290| 09 5d 2a 5c 5c 28 2d 3f | 5c 5c 29 5c 5c 28 5b 30 |.]*\\(-?|\\)\\([0|
|000002a0| 2d 39 5d 2a 5c 5c 29 5c | 5c 28 5c 5c 2e 5c 5c 28 |-9]*\\)\|\(\\.\\(|
|000002b0| 5b 30 2d 39 5d 2a 5c 5c | 29 5c 5c 7c 5c 5c 29 5c |[0-9]*\\|)\\|\\)\|
|000002c0| 5c 28 5c 5c 28 5c 5c 28 | 5b 45 65 5d 5c 5c 29 5c |\(\\(\\(|[Ee]\\)\|
|000002d0| 5c 28 2d 3f 5c 5c 29 5c | 5c 28 5b 30 2d 39 5d 5b |\(-?\\)\|\([0-9][|
|000002e0| 30 2d 39 5d 2a 5c 5c 29 | 5c 5c 29 5c 5c 7c 5c 5c |0-9]*\\)|\\)\\|\\|
|000002f0| 29 5b 20 09 5d 2a 24 22 | 20 22 5c 0a 52 65 67 75 |)[ .]*$"| "\.Regu|
|00000300| 6c 61 72 20 65 78 70 72 | 65 73 73 69 6f 6e 20 74 |lar expr|ession t|
|00000310| 6f 20 6d 61 74 63 68 20 | 66 6c 6f 61 74 69 6e 67 |o match |floating|
|00000320| 20 70 6f 69 6e 74 20 6e | 75 6d 62 65 72 73 2e 20 | point n|umbers. |
|00000330| 20 45 78 74 72 61 63 74 | 20 6d 61 74 63 68 65 73 | Extract| matches|
|00000340| 3a 0a 31 20 2d 20 6d 69 | 6e 75 73 20 73 69 67 6e |:.1 - mi|nus sign|
|00000350| 0a 32 20 2d 20 69 6e 74 | 65 67 65 72 20 70 61 72 |.2 - int|eger par|
|00000360| 74 0a 34 20 2d 20 66 72 | 61 63 74 69 6f 6e 61 6c |t.4 - fr|actional|
|00000370| 20 70 61 72 74 0a 38 20 | 2d 20 6d 69 6e 75 73 20 | part.8 |- minus |
|00000380| 73 69 67 6e 20 66 6f 72 | 20 70 6f 77 65 72 20 6f |sign for| power o|
|00000390| 66 20 74 65 6e 0a 39 20 | 2d 20 70 6f 77 65 72 20 |f ten.9 |- power |
|000003a0| 6f 66 20 74 65 6e 0a 22 | 29 0a 0a 28 64 65 66 63 |of ten."|)..(defc|
|000003b0| 6f 6e 73 74 20 68 69 67 | 68 2d 62 69 74 2d 6d 61 |onst hig|h-bit-ma|
|000003c0| 73 6b 20 28 61 73 68 20 | 31 20 6d 61 78 62 69 74 |sk (ash |1 maxbit|
|000003d0| 29 20 22 5c 0a 4d 61 73 | 6b 73 20 61 6c 6c 20 62 |) "\.Mas|ks all b|
|000003e0| 69 74 73 20 65 78 63 65 | 70 74 20 74 68 65 20 68 |its exce|pt the h|
|000003f0| 69 67 68 2d 6f 72 64 65 | 72 20 28 73 69 67 6e 29 |igh-orde|r (sign)|
|00000400| 20 62 69 74 2e 22 29 0a | 0a 28 64 65 66 63 6f 6e | bit.").|.(defcon|
|00000410| 73 74 20 73 65 63 6f 6e | 64 2d 62 69 74 2d 6d 61 |st secon|d-bit-ma|
|00000420| 73 6b 20 28 61 73 68 20 | 31 20 28 31 2d 20 6d 61 |sk (ash |1 (1- ma|
|00000430| 78 62 69 74 29 29 20 22 | 5c 0a 4d 61 73 6b 73 20 |xbit)) "|\.Masks |
|00000440| 61 6c 6c 20 62 69 74 73 | 20 65 78 63 65 70 74 20 |all bits| except |
|00000450| 74 68 65 20 68 69 67 68 | 65 73 74 2d 6f 72 64 65 |the high|est-orde|
|00000460| 72 20 6d 61 67 6e 69 74 | 75 64 65 20 62 69 74 22 |r magnit|ude bit"|
|00000470| 29 0a 0a 28 73 65 74 71 | 20 5f 66 30 20 28 71 75 |)..(setq| _f0 (qu|
|00000480| 6f 74 65 20 28 30 20 2e | 20 31 29 29 29 0a 0a 28 |ote (0 .| 1)))..(|
|00000490| 73 65 74 71 20 5f 66 31 | 2f 32 20 28 71 75 6f 74 |setq _f1|/2 (quot|
|000004a0| 65 20 28 34 31 39 34 33 | 30 34 20 2e 20 2d 32 33 |e (41943|04 . -23|
|000004b0| 29 29 29 0a 0a 28 73 65 | 74 71 20 5f 66 31 20 28 |)))..(se|tq _f1 (|
|000004c0| 71 75 6f 74 65 20 28 34 | 31 39 34 33 30 34 20 2e |quote (4|194304 .|
|000004d0| 20 2d 32 32 29 29 29 0a | 0a 28 73 65 74 71 20 5f | -22))).|.(setq _|
|000004e0| 66 31 30 20 28 71 75 6f | 74 65 20 28 35 32 34 32 |f10 (quo|te (5242|
|000004f0| 38 38 30 20 2e 20 2d 31 | 39 29 29 29 0a 0a 28 73 |880 . -1|9)))..(s|
|00000500| 65 74 71 20 70 6f 77 65 | 72 73 2d 6f 66 2d 31 30 |etq powe|rs-of-10|
|00000510| 20 28 6d 61 6b 65 2d 76 | 65 63 74 6f 72 20 28 31 | (make-v|ector (1|
|00000520| 2b 20 64 65 63 69 6d 61 | 6c 2d 64 69 67 69 74 73 |+ decima|l-digits|
|00000530| 29 20 5f 66 31 29 29 0a | 0a 28 61 73 65 74 20 70 |) _f1)).|.(aset p|
|00000540| 6f 77 65 72 73 2d 6f 66 | 2d 31 30 20 31 20 5f 66 |owers-of|-10 1 _f|
|00000550| 31 30 29 0a 0a 28 61 73 | 65 74 20 70 6f 77 65 72 |10)..(as|et power|
|00000560| 73 2d 6f 66 2d 31 30 20 | 32 20 28 71 75 6f 74 65 |s-of-10 |2 (quote|
|00000570| 20 28 36 35 35 33 36 30 | 30 20 2e 20 2d 31 36 29 | (655360|0 . -16)|
|00000580| 29 29 0a 0a 28 61 73 65 | 74 20 70 6f 77 65 72 73 |))..(ase|t powers|
|00000590| 2d 6f 66 2d 31 30 20 33 | 20 28 71 75 6f 74 65 20 |-of-10 3| (quote |
|000005a0| 28 38 31 39 32 30 30 30 | 20 2e 20 2d 31 33 29 29 |(8192000| . -13))|
|000005b0| 29 0a 0a 28 61 73 65 74 | 20 70 6f 77 65 72 73 2d |)..(aset| powers-|
|000005c0| 6f 66 2d 31 30 20 34 20 | 28 71 75 6f 74 65 20 28 |of-10 4 |(quote (|
|000005d0| 35 31 32 30 30 30 30 20 | 2e 20 2d 39 29 29 29 0a |5120000 |. -9))).|
|000005e0| 0a 28 61 73 65 74 20 70 | 6f 77 65 72 73 2d 6f 66 |.(aset p|owers-of|
|000005f0| 2d 31 30 20 35 20 28 71 | 75 6f 74 65 20 28 36 34 |-10 5 (q|uote (64|
|00000600| 30 30 30 30 30 20 2e 20 | 2d 36 29 29 29 0a 0a 28 |00000 . |-6)))..(|
|00000610| 61 73 65 74 20 70 6f 77 | 65 72 73 2d 6f 66 2d 31 |aset pow|ers-of-1|
|00000620| 30 20 36 20 28 71 75 6f | 74 65 20 28 38 30 30 30 |0 6 (quo|te (8000|
|00000630| 30 30 30 20 2e 20 2d 33 | 29 29 29 0a 0a 28 73 65 |000 . -3|)))..(se|
|00000640| 74 71 20 61 6c 6c 2d 64 | 65 63 69 6d 61 6c 2d 64 |tq all-d|ecimal-d|
|00000650| 69 67 73 2d 6d 69 6e 76 | 61 6c 20 28 61 72 65 66 |igs-minv|al (aref|
|00000660| 20 70 6f 77 65 72 73 2d | 6f 66 2d 31 30 20 28 31 | powers-|of-10 (1|
|00000670| 2d 20 64 65 63 69 6d 61 | 6c 2d 64 69 67 69 74 73 |- decima|l-digits|
|00000680| 29 29 20 68 69 67 68 65 | 73 74 2d 70 6f 77 65 72 |)) highe|st-power|
|00000690| 2d 6f 66 2d 31 30 20 28 | 61 72 65 66 20 70 6f 77 |-of-10 (|aref pow|
|000006a0| 65 72 73 2d 6f 66 2d 31 | 30 20 64 65 63 69 6d 61 |ers-of-1|0 decima|
|000006b0| 6c 2d 64 69 67 69 74 73 | 29 29 0a 0a 28 64 65 66 |l-digits|))..(def|
|000006c0| 75 6e 20 66 61 73 68 6c | 20 28 66 6e 75 6d 29 20 |un fashl| (fnum) |
|000006d0| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c1 08 40 c2 |(byte-co|de "..@.|
|000006e0| 5c 22 08 41 53 42 87 22 | 20 5b 66 6e 75 6d 20 61 |\".ASB."| [fnum a|
|000006f0| 73 68 20 31 5d 20 33 29 | 29 0a 0a 28 64 65 66 75 |sh 1] 3)|)..(defu|
|00000700| 6e 20 66 61 73 68 72 20 | 28 66 6e 75 6d 29 20 28 |n fashr |(fnum) (|
|00000710| 62 79 74 65 2d 63 6f 64 | 65 20 22 c1 08 40 c2 5c |byte-cod|e "..@.\|
|00000720| 22 08 41 54 42 87 22 20 | 5b 66 6e 75 6d 20 61 73 |".ATB." |[fnum as|
|00000730| 68 20 2d 31 5d 20 33 29 | 29 0a 0a 28 64 65 66 75 |h -1] 3)|)..(defu|
|00000740| 6e 20 6e 6f 72 6d 61 6c | 69 7a 65 20 28 66 6e 75 |n normal|ize (fnu|
|00000750| 6d 29 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 08 |m) (byte|-code ".|
|00000760| 40 c4 56 83 1d 00 c5 c6 | 08 40 09 5c 22 21 85 1a |@.V.....|.@.\"!..|
|00000770| 00 c7 08 21 89 10 88 82 | 07 00 82 3d 00 08 40 c4 |...!....|...=..@.|
|00000780| 57 83 3a 00 c5 c6 08 40 | 0a 5c 22 21 85 37 00 c7 |W.:....@|.\"!.7..|
|00000790| 08 21 89 10 88 82 24 00 | 82 3d 00 0b 89 10 88 08 |.!....$.|.=......|
|000007a0| 87 22 20 5b 66 6e 75 6d | 20 73 65 63 6f 6e 64 2d |." [fnum| second-|
|000007b0| 62 69 74 2d 6d 61 73 6b | 20 68 69 67 68 2d 62 69 |bit-mask| high-bi|
|000007c0| 74 2d 6d 61 73 6b 20 5f | 66 30 20 30 20 7a 65 72 |t-mask _|f0 0 zer|
|000007d0| 6f 70 20 6c 6f 67 61 6e | 64 20 66 61 73 68 6c 5d |op logan|d fashl]|
|000007e0| 20 39 29 29 0a 0a 28 64 | 65 66 75 6e 20 61 62 73 | 9))..(d|efun abs|
|000007f0| 20 28 6e 29 20 28 62 79 | 74 65 2d 63 6f 64 65 20 | (n) (by|te-code |
|00000800| 22 c1 08 21 83 0a 00 08 | 82 0c 00 08 5b 87 22 20 |"..!....|....[." |
|00000810| 5b 6e 20 6e 61 74 6e 75 | 6d 70 5d 20 32 29 29 0a |[n natnu|mp] 2)).|
|00000820| 0a 28 64 65 66 75 6e 20 | 66 61 62 73 20 28 66 6e |.(defun |fabs (fn|
|00000830| 75 6d 29 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |um) (byt|e-code "|
|00000840| c1 c2 08 40 21 08 41 42 | 21 87 22 20 5b 66 6e 75 |...@!.AB|!." [fnu|
|00000850| 6d 20 6e 6f 72 6d 61 6c | 69 7a 65 20 61 62 73 5d |m normal|ize abs]|
|00000860| 20 34 29 29 0a 0a 28 64 | 65 66 75 6e 20 78 6f 72 | 4))..(d|efun xor|
|00000870| 20 28 61 20 62 29 20 28 | 62 79 74 65 2d 63 6f 64 | (a b) (|byte-cod|
|00000880| 65 20 22 08 86 05 00 09 | 85 0e 00 08 85 0d 00 09 |e ".....|........|
|00000890| 3f 87 22 20 5b 61 20 62 | 5d 20 31 29 29 0a 0a 28 |?." [a b|] 1))..(|
|000008a0| 64 65 66 75 6e 20 73 61 | 6d 65 2d 73 69 67 6e 20 |defun sa|me-sign |
|000008b0| 28 61 20 62 29 20 28 62 | 79 74 65 2d 63 6f 64 65 |(a b) (b|yte-code|
|000008c0| 20 22 c2 c3 08 40 21 c3 | 09 40 21 5c 22 3f 87 22 | "...@!.|.@!\"?."|
|000008d0| 20 5b 61 20 62 20 78 6f | 72 20 6e 61 74 6e 75 6d | [a b xo|r natnum|
|000008e0| 70 5d 20 35 29 29 0a 0a | 28 64 65 66 75 6e 20 65 |p] 5))..|(defun e|
|000008f0| 78 74 72 61 63 74 2d 6d | 61 74 63 68 20 28 73 74 |xtract-m|atch (st|
|00000900| 72 20 69 29 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |r i) (by|te-code |
|00000910| 22 c0 c1 c2 8f 87 22 20 | 5b 6e 69 6c 20 28 62 79 |"....." |[nil (by|
|00000920| 74 65 2d 63 6f 64 65 20 | 22 08 c2 09 21 c3 09 21 |te-code |"...!..!|
|00000930| 4f 87 22 20 5b 73 74 72 | 20 69 20 6d 61 74 63 68 |O." [str| i match|
|00000940| 2d 62 65 67 69 6e 6e 69 | 6e 67 20 6d 61 74 63 68 |-beginni|ng match|
|00000950| 2d 65 6e 64 5d 20 35 29 | 20 28 28 65 72 72 6f 72 |-end] 5)| ((error|
|00000960| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 c0 87 22 | (byte-c|ode ".."|
|00000970| 20 5b 22 22 5d 20 31 29 | 29 29 5d 20 33 29 29 0a | [""] 1)|))] 3)).|
|00000980| 0a 28 73 65 74 71 20 68 | 61 6c 66 77 6f 72 64 2d |.(setq h|alfword-|
|00000990| 62 69 74 73 20 28 2f 20 | 6d 61 6e 74 69 73 73 61 |bits (/ |mantissa|
|000009a0| 2d 62 69 74 73 20 32 29 | 20 6d 61 73 6b 6c 6f 20 |-bits 2)| masklo |
|000009b0| 28 31 2d 20 28 61 73 68 | 20 31 20 68 61 6c 66 77 |(1- (ash| 1 halfw|
|000009c0| 6f 72 64 2d 62 69 74 73 | 29 29 20 6d 61 73 6b 68 |ord-bits|)) maskh|
|000009d0| 69 20 28 6c 6f 67 6e 6f | 74 20 6d 61 73 6b 6c 6f |i (logno|t masklo|
|000009e0| 29 20 72 6f 75 6e 64 2d | 6c 69 6d 69 74 20 28 61 |) round-|limit (a|
|000009f0| 73 68 20 31 20 28 2f 20 | 68 61 6c 66 77 6f 72 64 |sh 1 (/ |halfword|
|00000a00| 2d 62 69 74 73 20 32 29 | 29 29 0a 0a 28 64 65 66 |-bits 2)|))..(def|
|00000a10| 75 6e 20 68 69 68 61 6c | 66 20 28 6e 29 20 28 62 |un hihal|f (n) (b|
|00000a20| 79 74 65 2d 63 6f 64 65 | 20 22 c3 c4 08 09 5c 22 |yte-code| "....\"|
|00000a30| 0a 5b 5c 22 87 22 20 5b | 6e 20 6d 61 73 6b 68 69 |.[\"." [|n maskhi|
|00000a40| 20 68 61 6c 66 77 6f 72 | 64 2d 62 69 74 73 20 61 | halfwor|d-bits a|
|00000a50| 73 68 20 6c 6f 67 61 6e | 64 5d 20 34 29 29 0a 0a |sh logan|d] 4))..|
|00000a60| 28 64 65 66 75 6e 20 6c | 6f 68 61 6c 66 20 28 6e |(defun l|ohalf (n|
|00000a70| 29 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c2 08 |) (byte-|code "..|
|00000a80| 09 5c 22 87 22 20 5b 6e | 20 6d 61 73 6b 6c 6f 20 |.\"." [n| masklo |
|00000a90| 6c 6f 67 61 6e 64 5d 20 | 33 29 29 0a 0a 28 64 65 |logand] |3))..(de|
|00000aa0| 66 75 6e 20 66 2b 20 28 | 61 31 20 61 32 29 20 22 |fun f+ (|a1 a2) "|
|00000ab0| 5c 0a 52 65 74 75 72 6e | 73 20 74 68 65 20 73 75 |\.Return|s the su|
|00000ac0| 6d 20 6f 66 20 74 77 6f | 20 66 6c 6f 61 74 69 6e |m of two| floatin|
|00000ad0| 67 20 70 6f 69 6e 74 20 | 6e 75 6d 62 65 72 73 2e |g point |numbers.|
|00000ae0| 22 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c4 09 |" (byte-|code "..|
|00000af0| 0a 5c 22 c5 09 0a 5c 22 | 1b 18 c6 09 0a 5c 22 85 |.\"...\"|.....\".|
|00000b00| 1a 00 c7 08 21 10 c7 0b | 21 89 13 88 c8 08 40 c9 |....!...|!.....@.|
|00000b10| 0b 40 0b 41 08 41 5a 5c | 22 5c 5c 08 41 42 21 2a |.@.A.AZ\|"\\.AB!*|
|00000b20| 87 22 20 5b 66 31 20 61 | 31 20 61 32 20 66 32 20 |." [f1 a|1 a2 f2 |
|00000b30| 66 6d 61 78 20 66 6d 69 | 6e 20 73 61 6d 65 2d 73 |fmax fmi|n same-s|
|00000b40| 69 67 6e 20 66 61 73 68 | 72 20 6e 6f 72 6d 61 6c |ign fash|r normal|
|00000b50| 69 7a 65 20 61 73 68 5d | 20 31 31 29 29 0a 0a 28 |ize ash]| 11))..(|
|00000b60| 64 65 66 75 6e 20 66 2d | 20 28 61 31 20 26 6f 70 |defun f-| (a1 &op|
|00000b70| 74 69 6f 6e 61 6c 20 61 | 32 29 20 22 5c 0a 52 65 |tional a|2) "\.Re|
|00000b80| 74 75 72 6e 73 20 74 68 | 65 20 64 69 66 66 65 72 |turns th|e differ|
|00000b90| 65 6e 63 65 20 6f 66 20 | 74 77 6f 20 66 6c 6f 61 |ence of |two floa|
|00000ba0| 74 69 6e 67 20 70 6f 69 | 6e 74 20 6e 75 6d 62 65 |ting poi|nt numbe|
|00000bb0| 72 73 2e 22 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |rs." (by|te-code |
|00000bc0| 22 08 83 0d 00 c2 09 c3 | 08 21 5c 22 82 15 00 c4 |".......|.!\"....|
|00000bd0| 09 40 5b 09 41 42 21 87 | 22 20 5b 61 32 20 61 31 |.@[.AB!.|" [a2 a1|
|00000be0| 20 66 2b 20 66 2d 20 6e | 6f 72 6d 61 6c 69 7a 65 | f+ f- n|ormalize|
|00000bf0| 5d 20 35 29 29 0a 0a 28 | 64 65 66 75 6e 20 66 2a |] 5))..(|defun f*|
|00000c00| 20 28 61 31 20 61 32 29 | 20 22 5c 0a 52 65 74 75 | (a1 a2)| "\.Retu|
|00000c10| 72 6e 73 20 74 68 65 20 | 70 72 6f 64 75 63 74 20 |rns the |product |
|00000c20| 6f 66 20 74 77 6f 20 66 | 6c 6f 61 74 69 6e 67 20 |of two f|loating |
|00000c30| 70 6f 69 6e 74 20 6e 75 | 6d 62 65 72 73 2e 22 20 |point nu|mbers." |
|00000c40| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c9 09 21 40 |(byte-co|de "..!@|
|00000c50| 18 c9 0b 21 40 1a ca 09 | 0b 5c 22 3f 1c cb cc cd |...!@...|.\"?....|
|00000c60| ce 08 21 ce 0a 21 5c 22 | 21 ce cd cc 08 21 ce 0a |..!..!\"|!....!..|
|00000c70| 21 5c 22 21 ce cd ce 08 | 21 cc 0a 21 5c 22 21 23 |!\"!....|!..!\"!#|
|00000c80| 1d cb cd cc 08 21 cc 0a | 21 5c 22 cc cd cc 08 21 |.....!..|!\"....!|
|00000c90| ce 0a 21 5c 22 21 cc cd | ce 08 21 cc 0a 21 5c 22 |..!\"!..|..!..!\"|
|00000ca0| 21 cc 0d 21 24 1e 06 ce | 0d 21 0e 07 56 85 63 00 |!..!$...|.!..V.c.|
|00000cb0| 0e 06 54 89 16 06 88 cf | 0c 83 6f 00 0e 06 5b 82 |..T.....|..o...[.|
|00000cc0| 71 00 0e 06 cb c9 09 21 | 41 c9 0b 21 41 0e 08 23 |q......!|A..!A..#|
|00000cd0| 42 21 2d 87 22 20 5b 69 | 31 20 61 31 20 69 32 20 |B!-." [i|1 a1 i2 |
|00000ce0| 61 32 20 73 69 67 6e 20 | 70 72 6f 64 6c 6f 20 70 |a2 sign |prodlo p|
|00000cf0| 72 6f 64 68 69 20 72 6f | 75 6e 64 2d 6c 69 6d 69 |rodhi ro|und-limi|
|00000d00| 74 20 6d 61 6e 74 69 73 | 73 61 2d 62 69 74 73 20 |t mantis|sa-bits |
|00000d10| 66 61 62 73 20 73 61 6d | 65 2d 73 69 67 6e 20 2b |fabs sam|e-sign +|
|00000d20| 20 68 69 68 61 6c 66 20 | 2a 20 6c 6f 68 61 6c 66 | hihalf |* lohalf|
|00000d30| 20 6e 6f 72 6d 61 6c 69 | 7a 65 5d 20 33 38 29 29 | normali|ze] 38))|
|00000d40| 0a 0a 28 64 65 66 75 6e | 20 66 2f 20 28 61 31 20 |..(defun| f/ (a1 |
|00000d50| 61 32 29 20 22 5c 0a 52 | 65 74 75 72 6e 73 20 74 |a2) "\.R|eturns t|
|00000d60| 68 65 20 71 75 6f 74 69 | 65 6e 74 20 6f 66 20 74 |he quoti|ent of t|
|00000d70| 77 6f 20 66 6c 6f 61 74 | 69 6e 67 20 70 6f 69 6e |wo float|ing poin|
|00000d80| 74 20 6e 75 6d 62 65 72 | 73 2e 22 20 28 62 79 74 |t number|s." (byt|
|00000d90| 65 2d 63 6f 64 65 20 22 | c8 08 40 21 83 11 00 c9 |e-code "|..@!....|
|00000da0| ca cb 09 08 45 5c 22 82 | 76 00 0b 53 cc cd 09 21 |....E\".|v..S...!|
|00000db0| 40 cd 08 21 40 ce 09 08 | 5c 22 3f 1e 07 1e 06 1d |@..!@...|\"?.....|
|00000dc0| 1c 1a cf 0a 21 85 5a 00 | 0d 0e 06 5a cc 57 83 40 |....!.Z.|...Z.W.@|
|00000dd0| 00 d0 0c d1 5c 22 89 14 | 82 4c 00 d0 0c d1 5c 22 |....\"..|.L....\"|
|00000de0| 54 14 0d 0e 06 5a 89 15 | 88 d0 0d d1 5c 22 15 0a |T....Z..|....\"..|
|00000df0| 53 89 12 88 82 28 00 88 | d2 0e 07 83 66 00 0c 5b |S....(..|....f..[|
|00000e00| 82 67 00 0c d3 cd 09 21 | 41 cd 08 21 41 0b 53 23 |.g.....!|A..!A.S#|
|00000e10| 42 21 2d 87 22 20 5b 61 | 32 20 61 31 20 62 69 74 |B!-." [a|2 a1 bit|
|00000e20| 73 20 6d 61 78 62 69 74 | 20 71 75 6f 74 69 65 6e |s maxbit| quotien|
|00000e30| 74 20 64 69 76 69 64 65 | 6e 64 20 64 69 76 69 73 |t divide|nd divis|
|00000e40| 6f 72 20 73 69 67 6e 20 | 7a 65 72 6f 70 20 73 69 |or sign |zerop si|
|00000e50| 67 6e 61 6c 20 61 72 69 | 74 68 2d 65 72 72 6f 72 |gnal ari|th-error|
|00000e60| 20 22 61 74 74 65 6d 70 | 74 20 74 6f 20 64 69 76 | "attemp|t to div|
|00000e70| 69 64 65 20 62 79 20 7a | 65 72 6f 22 20 30 20 66 |ide by z|ero" 0 f|
|00000e80| 61 62 73 20 73 61 6d 65 | 2d 73 69 67 6e 20 6e 61 |abs same|-sign na|
|00000e90| 74 6e 75 6d 70 20 61 73 | 68 20 31 20 6e 6f 72 6d |tnump as|h 1 norm|
|00000ea0| 61 6c 69 7a 65 20 2d 5d | 20 31 37 29 29 0a 0a 28 |alize -]| 17))..(|
|00000eb0| 64 65 66 75 6e 20 66 25 | 20 28 61 31 20 61 32 29 |defun f%| (a1 a2)|
|00000ec0| 20 22 5c 0a 52 65 74 75 | 72 6e 73 20 74 68 65 20 | "\.Retu|rns the |
|00000ed0| 72 65 6d 61 69 6e 64 65 | 72 20 6f 66 20 66 69 72 |remainde|r of fir|
|00000ee0| 73 74 20 66 6c 6f 61 74 | 69 6e 67 20 70 6f 69 6e |st float|ing poin|
|00000ef0| 74 20 6e 75 6d 62 65 72 | 20 64 69 76 69 64 65 64 |t number| divided|
|00000f00| 20 62 79 20 73 65 63 6f | 6e 64 2e 22 20 28 62 79 | by seco|nd." (by|
|00000f10| 74 65 2d 63 6f 64 65 20 | 22 c2 08 c3 c4 c5 08 09 |te-code |".......|
|00000f20| 5c 22 21 09 5c 22 5c 22 | 87 22 20 5b 61 31 20 61 |\"!.\"\"|." [a1 a|
|00000f30| 32 20 66 2d 20 66 2a 20 | 66 74 72 75 6e 63 20 66 |2 f- f* |ftrunc f|
|00000f40| 2f 5d 20 37 29 29 0a 0a | 28 64 65 66 75 6e 20 66 |/] 7))..|(defun f|
|00000f50| 3d 20 28 61 31 20 61 32 | 29 20 22 5c 0a 52 65 74 |= (a1 a2|) "\.Ret|
|00000f60| 75 72 6e 73 20 74 20 69 | 66 20 74 77 6f 20 66 6c |urns t i|f two fl|
|00000f70| 6f 61 74 69 6e 67 20 70 | 6f 69 6e 74 20 6e 75 6d |oating p|oint num|
|00000f80| 62 65 72 73 20 61 72 65 | 20 65 71 75 61 6c 2c 20 |bers are| equal, |
|00000f90| 6e 69 6c 20 6f 74 68 65 | 72 77 69 73 65 2e 22 20 |nil othe|rwise." |
|00000fa0| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c2 08 09 5c |(byte-co|de "...\|
|00000fb0| 22 87 22 20 5b 61 31 20 | 61 32 20 65 71 75 61 6c |"." [a1 |a2 equal|
|00000fc0| 5d 20 33 29 29 0a 0a 28 | 64 65 66 75 6e 20 66 3e |] 3))..(|defun f>|
|00000fd0| 20 28 61 31 20 61 32 29 | 20 22 5c 0a 52 65 74 75 | (a1 a2)| "\.Retu|
|00000fe0| 72 6e 73 20 74 20 69 66 | 20 66 69 72 73 74 20 66 |rns t if| first f|
|00000ff0| 6c 6f 61 74 69 6e 67 20 | 70 6f 69 6e 74 20 6e 75 |loating |point nu|
|00001000| 6d 62 65 72 20 69 73 20 | 67 72 65 61 74 65 72 20 |mber is |greater |
|00001010| 74 68 61 6e 20 73 65 63 | 6f 6e 64 2c 0a 6e 69 6c |than sec|ond,.nil|
|00001020| 20 6f 74 68 65 72 77 69 | 73 65 2e 22 20 28 62 79 | otherwi|se." (by|
|00001030| 74 65 2d 63 6f 64 65 20 | 22 c4 08 40 21 85 0b 00 |te-code |"..@!...|
|00001040| 09 40 c5 57 83 12 00 c2 | 82 4c 00 08 40 c5 56 85 |.@.W....|.L..@.V.|
|00001050| 1d 00 09 40 c5 58 83 24 | 00 c2 82 4c 00 08 40 c5 |...@.X.$|...L..@.|
|00001060| 58 85 2f 00 c4 09 40 21 | 83 36 00 c3 82 4c 00 c6 |X./...@!|.6...L..|
|00001070| 08 41 09 41 5c 22 83 47 | 00 08 41 09 41 56 82 4c |.A.A\".G|..A.AV.L|
|00001080| 00 08 40 09 40 56 87 22 | 20 5b 61 31 20 61 32 20 |..@.@V."| [a1 a2 |
|00001090| 74 20 6e 69 6c 20 6e 61 | 74 6e 75 6d 70 20 30 20 |t nil na|tnump 0 |
|000010a0| 2f 3d 5d 20 35 29 29 0a | 0a 28 64 65 66 75 6e 20 |/=] 5)).|.(defun |
|000010b0| 66 3e 3d 20 28 61 31 20 | 61 32 29 20 22 5c 0a 52 |f>= (a1 |a2) "\.R|
|000010c0| 65 74 75 72 6e 73 20 74 | 20 69 66 20 66 69 72 73 |eturns t| if firs|
|000010d0| 74 20 66 6c 6f 61 74 69 | 6e 67 20 70 6f 69 6e 74 |t floati|ng point|
|000010e0| 20 6e 75 6d 62 65 72 20 | 69 73 20 67 72 65 61 74 | number |is great|
|000010f0| 65 72 20 74 68 61 6e 20 | 6f 72 20 65 71 75 61 6c |er than |or equal|
|00001100| 20 74 6f 20 0a 73 65 63 | 6f 6e 64 2c 20 6e 69 6c | to .sec|ond, nil|
|00001110| 20 6f 74 68 65 72 77 69 | 73 65 2e 22 20 28 62 79 | otherwi|se." (by|
|00001120| 74 65 2d 63 6f 64 65 20 | 22 c2 08 09 5c 22 86 0b |te-code |"...\"..|
|00001130| 00 c3 08 09 5c 22 87 22 | 20 5b 61 31 20 61 32 20 |....\"."| [a1 a2 |
|00001140| 66 3e 20 66 3d 5d 20 34 | 29 29 0a 0a 28 64 65 66 |f> f=] 4|))..(def|
|00001150| 75 6e 20 66 3c 20 28 61 | 31 20 61 32 29 20 22 5c |un f< (a|1 a2) "\|
|00001160| 0a 52 65 74 75 72 6e 73 | 20 74 20 69 66 20 66 69 |.Returns| t if fi|
|00001170| 72 73 74 20 66 6c 6f 61 | 74 69 6e 67 20 70 6f 69 |rst floa|ting poi|
|00001180| 6e 74 20 6e 75 6d 62 65 | 72 20 69 73 20 6c 65 73 |nt numbe|r is les|
|00001190| 73 20 74 68 61 6e 20 73 | 65 63 6f 6e 64 2c 0a 6e |s than s|econd,.n|
|000011a0| 69 6c 20 6f 74 68 65 72 | 77 69 73 65 2e 22 20 28 |il other|wise." (|
|000011b0| 62 79 74 65 2d 63 6f 64 | 65 20 22 c2 08 09 5c 22 |byte-cod|e "...\"|
|000011c0| 3f 87 22 20 5b 61 31 20 | 61 32 20 66 3e 3d 5d 20 |?." [a1 |a2 f>=] |
|000011d0| 33 29 29 0a 0a 28 64 65 | 66 75 6e 20 66 3c 3d 20 |3))..(de|fun f<= |
|000011e0| 28 61 31 20 61 32 29 20 | 22 5c 0a 52 65 74 75 72 |(a1 a2) |"\.Retur|
|000011f0| 6e 73 20 74 20 69 66 20 | 66 69 72 73 74 20 66 6c |ns t if |first fl|
|00001200| 6f 61 74 69 6e 67 20 70 | 6f 69 6e 74 20 6e 75 6d |oating p|oint num|
|00001210| 62 65 72 20 69 73 20 6c | 65 73 73 20 74 68 61 6e |ber is l|ess than|
|00001220| 20 6f 72 20 65 71 75 61 | 6c 20 74 6f 0a 73 65 63 | or equa|l to.sec|
|00001230| 6f 6e 64 2c 20 6e 69 6c | 20 6f 74 68 65 72 77 69 |ond, nil| otherwi|
|00001240| 73 65 2e 22 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |se." (by|te-code |
|00001250| 22 c2 08 09 5c 22 3f 87 | 22 20 5b 61 31 20 61 32 |"...\"?.|" [a1 a2|
|00001260| 20 66 3e 5d 20 33 29 29 | 0a 0a 28 64 65 66 75 6e | f>] 3))|..(defun|
|00001270| 20 66 2f 3d 20 28 61 31 | 20 61 32 29 20 22 5c 0a | f/= (a1| a2) "\.|
|00001280| 52 65 74 75 72 6e 73 20 | 74 20 69 66 20 66 69 72 |Returns |t if fir|
|00001290| 73 74 20 66 6c 6f 61 74 | 69 6e 67 20 70 6f 69 6e |st float|ing poin|
|000012a0| 74 20 6e 75 6d 62 65 72 | 20 69 73 20 6e 6f 74 20 |t number| is not |
|000012b0| 65 71 75 61 6c 20 74 6f | 20 73 65 63 6f 6e 64 2c |equal to| second,|
|000012c0| 0a 6e 69 6c 20 6f 74 68 | 65 72 77 69 73 65 2e 22 |.nil oth|erwise."|
|000012d0| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 c2 08 09 | (byte-c|ode "...|
|000012e0| 5c 22 3f 87 22 20 5b 61 | 31 20 61 32 20 66 3d 5d |\"?." [a|1 a2 f=]|
|000012f0| 20 33 29 29 0a 0a 28 64 | 65 66 75 6e 20 66 6d 69 | 3))..(d|efun fmi|
|00001300| 6e 20 28 61 31 20 61 32 | 29 20 22 5c 0a 52 65 74 |n (a1 a2|) "\.Ret|
|00001310| 75 72 6e 73 20 74 68 65 | 20 6d 69 6e 69 6d 75 6d |urns the| minimum|
|00001320| 20 6f 66 20 74 77 6f 20 | 66 6c 6f 61 74 69 6e 67 | of two |floating|
|00001330| 20 70 6f 69 6e 74 20 6e | 75 6d 62 65 72 73 2e 22 | point n|umbers."|
|00001340| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 c2 08 09 | (byte-c|ode "...|
|00001350| 5c 22 83 0b 00 08 82 0c | 00 09 87 22 20 5b 61 31 |\"......|..." [a1|
|00001360| 20 61 32 20 66 3c 5d 20 | 33 29 29 0a 0a 28 64 65 | a2 f<] |3))..(de|
|00001370| 66 75 6e 20 66 6d 61 78 | 20 28 61 31 20 61 32 29 |fun fmax| (a1 a2)|
|00001380| 20 22 5c 0a 52 65 74 75 | 72 6e 73 20 74 68 65 20 | "\.Retu|rns the |
|00001390| 6d 61 78 69 6d 75 6d 20 | 6f 66 20 74 77 6f 20 66 |maximum |of two f|
|000013a0| 6c 6f 61 74 69 6e 67 20 | 70 6f 69 6e 74 20 6e 75 |loating |point nu|
|000013b0| 6d 62 65 72 73 2e 22 20 | 28 62 79 74 65 2d 63 6f |mbers." |(byte-co|
|000013c0| 64 65 20 22 c2 08 09 5c | 22 83 0b 00 08 82 0c 00 |de "...\|".......|
|000013d0| 09 87 22 20 5b 61 31 20 | 61 32 20 66 3e 5d 20 33 |.." [a1 |a2 f>] 3|
|000013e0| 29 29 0a 0a 28 64 65 66 | 75 6e 20 66 7a 65 72 6f |))..(def|un fzero|
|000013f0| 70 20 28 66 6e 75 6d 29 | 20 22 5c 0a 52 65 74 75 |p (fnum)| "\.Retu|
|00001400| 72 6e 73 20 74 20 69 66 | 20 74 68 65 20 66 6c 6f |rns t if| the flo|
|00001410| 61 74 69 6e 67 20 70 6f | 69 6e 74 20 6e 75 6d 62 |ating po|int numb|
|00001420| 65 72 20 69 73 20 7a 65 | 72 6f 2c 20 6e 69 6c 20 |er is ze|ro, nil |
|00001430| 6f 74 68 65 72 77 69 73 | 65 2e 22 20 28 62 79 74 |otherwis|e." (byt|
|00001440| 65 2d 63 6f 64 65 20 22 | 08 40 c1 55 87 22 20 5b |e-code "|.@.U." [|
|00001450| 66 6e 75 6d 20 30 5d 20 | 32 29 29 0a 0a 28 64 65 |fnum 0] |2))..(de|
|00001460| 66 75 6e 20 66 6c 6f 61 | 74 70 20 28 66 6e 75 6d |fun floa|tp (fnum|
|00001470| 29 20 22 5c 0a 52 65 74 | 75 72 6e 73 20 74 20 69 |) "\.Ret|urns t i|
|00001480| 66 20 74 68 65 20 61 72 | 67 20 69 73 20 61 20 66 |f the ar|g is a f|
|00001490| 6c 6f 61 74 69 6e 67 20 | 70 6f 69 6e 74 20 6e 75 |loating |point nu|
|000014a0| 6d 62 65 72 2c 20 6e 69 | 6c 20 6f 74 68 65 72 77 |mber, ni|l otherw|
|000014b0| 69 73 65 2e 22 20 28 62 | 79 74 65 2d 63 6f 64 65 |ise." (b|yte-code|
|000014c0| 20 22 08 3a 85 10 00 c1 | 08 40 21 85 10 00 c1 08 | ".:....|.@!.....|
|000014d0| 41 21 87 22 20 5b 66 6e | 75 6d 20 69 6e 74 65 67 |A!." [fn|um integ|
|000014e0| 65 72 70 5d 20 33 29 29 | 0a 0a 28 64 65 66 75 6e |erp] 3))|..(defun|
|000014f0| 20 66 20 28 69 6e 74 29 | 20 22 5c 0a 43 6f 6e 76 | f (int)| "\.Conv|
|00001500| 65 72 74 20 74 68 65 20 | 69 6e 74 65 67 65 72 20 |ert the |integer |
|00001510| 61 72 67 75 6d 65 6e 74 | 20 74 6f 20 66 6c 6f 61 |argument| to floa|
|00001520| 74 69 6e 67 20 70 6f 69 | 6e 74 2c 20 6c 69 6b 65 |ting poi|nt, like|
|00001530| 20 61 20 43 20 63 61 73 | 74 20 6f 70 65 72 61 74 | a C cas|t operat|
|00001540| 6f 72 2e 22 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |or." (by|te-code |
|00001550| 22 c1 08 c2 42 21 87 22 | 20 5b 69 6e 74 20 6e 6f |"...B!."| [int no|
|00001560| 72 6d 61 6c 69 7a 65 20 | 30 5d 20 33 29 29 0a 0a |rmalize |0] 3))..|
|00001570| 28 64 65 66 75 6e 20 69 | 6e 74 2d 74 6f 2d 68 65 |(defun i|nt-to-he|
|00001580| 78 2d 73 74 72 69 6e 67 | 20 28 69 6e 74 29 20 22 |x-string| (int) "|
|00001590| 5c 0a 43 6f 6e 76 65 72 | 74 20 74 68 65 20 69 6e |\.Conver|t the in|
|000015a0| 74 65 67 65 72 20 61 72 | 67 75 6d 65 6e 74 20 74 |teger ar|gument t|
|000015b0| 6f 20 61 20 43 2d 73 74 | 79 6c 65 20 68 65 78 61 |o a C-st|yle hexa|
|000015c0| 64 65 63 69 6d 61 6c 20 | 73 74 72 69 6e 67 2e 22 |decimal |string."|
|000015d0| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 c4 c5 c6 | (byte-c|ode "...|
|000015e0| 1a 19 18 08 c7 58 85 23 | 00 09 c8 0a c9 ca 0b 08 |.....X.#|........|
|000015f0| 5c 22 cb 5c 22 48 21 50 | 11 08 cc 5c 5c 89 10 88 |\".\"H!P|...\\...|
|00001600| 82 06 00 88 09 2b 87 22 | 20 5b 73 68 69 66 74 76 |.....+."| [shiftv|
|00001610| 61 6c 20 73 74 72 20 68 | 65 78 2d 63 68 61 72 73 |al str h|ex-chars|
|00001620| 20 69 6e 74 20 2d 32 30 | 20 22 30 78 22 20 22 30 | int -20| "0x" "0|
|00001630| 31 32 33 34 35 36 37 38 | 39 41 42 43 44 45 46 22 |12345678|9ABCDEF"|
|00001640| 20 30 20 63 68 61 72 2d | 74 6f 2d 73 74 72 69 6e | 0 char-|to-strin|
|00001650| 67 20 6c 6f 67 61 6e 64 | 20 6c 73 68 20 31 35 20 |g logand| lsh 15 |
|00001660| 34 5d 20 38 29 29 0a 0a | 28 64 65 66 75 6e 20 66 |4] 8))..|(defun f|
|00001670| 74 72 75 6e 63 20 28 66 | 6e 75 6d 29 20 22 5c 0a |trunc (f|num) "\.|
|00001680| 54 72 75 6e 63 61 74 65 | 20 74 68 65 20 66 72 61 |Truncate| the fra|
|00001690| 63 74 69 6f 6e 61 6c 20 | 70 61 72 74 20 6f 66 20 |ctional |part of |
|000016a0| 61 20 66 6c 6f 61 74 69 | 6e 67 20 70 6f 69 6e 74 |a floati|ng point|
|000016b0| 20 6e 75 6d 62 65 72 2e | 22 20 28 62 79 74 65 2d | number.|" (byte-|
|000016c0| 63 6f 64 65 20 22 c5 08 | 41 21 83 0b 00 08 82 3d |code "..|A!.....=|
|000016d0| 00 08 41 09 5b 58 83 17 | 00 c6 82 3d 00 08 40 08 |..A.[X..|...=..@.|
|000016e0| 41 1c 1b c7 c5 0b 21 83 | 2f 00 c8 c8 0b 0c 5c 22 |A.....!.|/.....\"|
|000016f0| 0c 5b 5c 22 82 39 00 c8 | c8 0b 5b 0c 5c 22 0c 5b |.[\".9..|..[.\".[|
|00001700| 5c 22 5b 0c 42 21 2a 87 | 22 20 5b 66 6e 75 6d 20 |\"[.B!*.|" [fnum |
|00001710| 6d 61 78 62 69 74 20 74 | 20 6d 61 6e 74 20 65 78 |maxbit t| mant ex|
|00001720| 70 20 6e 61 74 6e 75 6d | 70 20 28 30 20 2e 20 31 |p natnum|p (0 . 1|
|00001730| 29 20 6e 6f 72 6d 61 6c | 69 7a 65 20 61 73 68 5d |) normal|ize ash]|
|00001740| 20 39 29 29 0a 0a 28 64 | 65 66 75 6e 20 66 69 6e | 9))..(d|efun fin|
|00001750| 74 20 28 66 6e 75 6d 29 | 20 22 5c 0a 43 6f 6e 76 |t (fnum)| "\.Conv|
|00001760| 65 72 74 20 74 68 65 20 | 66 6c 6f 61 74 69 6e 67 |ert the |floating|
|00001770| 20 70 6f 69 6e 74 20 6e | 75 6d 62 65 72 20 74 6f | point n|umber to|
|00001780| 20 69 6e 74 65 67 65 72 | 2c 20 77 69 74 68 20 74 | integer|, with t|
|00001790| 72 75 6e 63 61 74 69 6f | 6e 2c 20 0a 6c 69 6b 65 |runcatio|n, .like|
|000017a0| 20 61 20 43 20 63 61 73 | 74 20 6f 70 65 72 61 74 | a C cas|t operat|
|000017b0| 6f 72 2e 22 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |or." (by|te-code |
|000017c0| 22 c8 09 21 18 08 40 1a | 08 41 1b 0b 0c 59 83 14 |"..!..@.|.A...Y..|
|000017d0| 00 0d 82 24 00 0b 0c 5b | 58 83 20 00 0e 06 82 24 |...$...[|X. ....$|
|000017e0| 00 c9 0a 0b 5c 22 2b 87 | 22 20 5b 74 66 20 66 6e |....\"+.|" [tf fn|
|000017f0| 75 6d 20 74 69 6e 74 20 | 74 65 78 70 20 6d 61 6e |um tint |texp man|
|00001800| 74 69 73 73 61 2d 62 69 | 74 73 20 6d 61 6e 74 69 |tissa-bi|ts manti|
|00001810| 73 73 61 2d 6d 61 78 76 | 61 6c 20 6d 61 6e 74 69 |ssa-maxv|al manti|
|00001820| 73 73 61 2d 6d 69 6e 76 | 61 6c 20 74 20 66 74 72 |ssa-minv|al t ftr|
|00001830| 75 6e 63 20 61 73 68 5d | 20 34 29 29 0a 0a 28 64 |unc ash]| 4))..(d|
|00001840| 65 66 75 6e 20 66 6c 6f | 61 74 2d 74 6f 2d 73 74 |efun flo|at-to-st|
|00001850| 72 69 6e 67 20 28 66 6e | 75 6d 20 26 6f 70 74 69 |ring (fn|um &opti|
|00001860| 6f 6e 61 6c 20 73 63 69 | 29 20 22 5c 0a 43 6f 6e |onal sci|) "\.Con|
|00001870| 76 65 72 74 20 74 68 65 | 20 66 6c 6f 61 74 69 6e |vert the| floatin|
|00001880| 67 20 70 6f 69 6e 74 20 | 6e 75 6d 62 65 72 20 74 |g point |number t|
|00001890| 6f 20 61 20 64 65 63 69 | 6d 61 6c 20 73 74 72 69 |o a deci|mal stri|
|000018a0| 6e 67 2e 0a 4f 70 74 69 | 6f 6e 61 6c 20 73 65 63 |ng..Opti|onal sec|
|000018b0| 6f 6e 64 20 61 72 67 75 | 6d 65 6e 74 20 6e 6f 6e |ond argu|ment non|
|000018c0| 2d 6e 69 6c 20 6d 65 61 | 6e 73 20 75 73 65 20 73 |-nil mea|ns use s|
|000018d0| 63 69 65 6e 74 69 66 69 | 63 20 6e 6f 74 61 74 69 |cientifi|c notati|
|000018e0| 6f 6e 2e 22 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |on." (by|te-code |
|000018f0| 22 d3 09 21 18 09 40 d4 | 57 1a d4 1b d4 1c d5 1d |"..!..@.|W.......|
|00001900| d4 1e 06 0e 08 1e 07 d6 | 09 0e 09 5c 22 83 5c 22 |........|...\".\"|
|00001910| 00 d7 82 65 01 d8 08 0e | 08 5c 22 83 66 00 d9 da |...e....|.\".f...|
|00001920| 0e 07 0e 0a 5c 22 89 16 | 06 08 5c 22 85 47 00 0e |....\"..|..\".G..|
|00001930| 06 16 07 0b 0e 0b 5c 5c | 89 13 88 82 2a 00 88 d9 |......\\|....*...|
|00001940| da 0e 07 0e 0c 5c 22 89 | 16 06 08 5c 22 85 63 00 |.....\".|...\".c.|
|00001950| 0e 06 16 07 0b 54 89 13 | 88 82 48 00 82 9c 00 db |.....T..|..H.....|
|00001960| dc 0e 07 0e 0a 5c 22 89 | 16 06 08 5c 22 85 83 00 |.....\".|...\"...|
|00001970| 0e 06 16 07 0b 0e 0b 5a | 89 13 88 82 66 00 88 db |.......Z|....f...|
|00001980| 0e 07 08 5c 22 85 9c 00 | dc 0e 07 0e 0c 5c 22 16 |...\"...|.....\".|
|00001990| 07 0b 53 89 13 88 82 84 | 00 88 da dc 08 0e 07 5c |..S.....|.......\|
|000019a0| 22 0e 0d 5c 22 10 dd 08 | 21 89 14 88 de 1e 0e db |"..\"...|!.......|
|000019b0| df 08 0c 5c 22 0e 0f 5c | 22 83 c5 00 e0 0c 21 54 |...\"..\|".....!T|
|000019c0| 89 16 0e 82 cb 00 e0 0c | 21 89 16 0e 88 e1 0e 0e |........|!.......|
|000019d0| 21 89 15 88 0e 0e e2 59 | 85 de 00 0b 54 89 13 29 |!......Y|....T..)|
|000019e0| 88 0e 10 83 f9 00 e3 0d | d4 e4 4f e5 0d e4 de 4f |........|..O....O|
|000019f0| e6 e1 0b 21 25 89 15 82 | 59 01 0b 0e 0b 53 59 83 |...!%...|Y....SY.|
|00001a00| 20 01 0b 0e 0b 5a 1e 11 | e7 0e 11 21 85 1c 01 0d | ....Z..|...!....|
|00001a10| d7 50 15 0e 11 53 89 16 | 11 88 82 07 01 29 82 59 |.P...S..|.....).Y|
|00001a20| 01 0b d4 57 83 4b 01 0b | 5b e8 5a 1e 11 e7 0e 11 |...W.K..|[.Z.....|
|00001a30| 21 85 41 01 d7 0d 50 15 | 0e 11 53 89 16 11 88 82 |!.A...P.|..S.....|
|00001a40| 2c 01 88 e9 0d 50 89 15 | 29 82 59 01 0d d4 0b 54 |,....P..|).Y....T|
|00001a50| 4f e5 0d 0b 54 de 4f 51 | 89 15 88 0a 83 64 01 ea |O...T.OQ|.....d..|
|00001a60| 0d 50 82 65 01 0d 2e 07 | 87 22 20 5b 76 61 6c 75 |.P.e....|." [valu|
|00001a70| 65 20 66 6e 75 6d 20 73 | 69 67 6e 20 70 6f 77 65 |e fnum s|ign powe|
|00001a80| 72 20 72 65 73 75 6c 74 | 20 73 74 72 20 74 65 6d |r result| str tem|
|00001a90| 70 20 70 6f 77 31 30 20 | 5f 66 31 20 5f 66 30 20 |p pow10 |_f1 _f0 |
|00001aa0| 68 69 67 68 65 73 74 2d | 70 6f 77 65 72 2d 6f 66 |highest-|power-of|
|00001ab0| 2d 31 30 20 64 65 63 69 | 6d 61 6c 2d 64 69 67 69 |-10 deci|mal-digi|
|00001ac0| 74 73 20 5f 66 31 30 20 | 61 6c 6c 2d 64 65 63 69 |ts _f10 |all-deci|
|00001ad0| 6d 61 6c 2d 64 69 67 73 | 2d 6d 69 6e 76 61 6c 20 |mal-digs|-minval |
|00001ae0| 69 6e 74 20 5f 66 31 2f | 32 20 73 63 69 20 7a 65 |int _f1/|2 sci ze|
|00001af0| 72 6f 65 73 20 74 20 66 | 61 62 73 20 30 20 22 22 |roes t f|abs 0 ""|
|00001b00| 20 66 3d 20 22 30 22 20 | 66 3e 3d 20 66 3c 3d 20 | f= "0" |f>= f<= |
|00001b10| 66 2a 20 66 3e 20 66 2f | 20 66 74 72 75 6e 63 20 |f* f> f/| ftrunc |
|00001b20| 6e 69 6c 20 66 2d 20 66 | 69 6e 74 20 69 6e 74 2d |nil f- f|int int-|
|00001b30| 74 6f 2d 73 74 72 69 6e | 67 20 31 30 30 30 30 30 |to-strin|g 100000|
|00001b40| 30 20 63 6f 6e 63 61 74 | 20 31 20 22 2e 22 20 22 |0 concat| 1 "." "|
|00001b50| 45 22 20 6e 61 74 6e 75 | 6d 70 20 32 20 22 30 2e |E" natnu|mp 2 "0.|
|00001b60| 22 20 22 2d 22 5d 20 32 | 38 29 29 0a 0a 28 64 65 |" "-"] 2|8))..(de|
|00001b70| 66 75 6e 20 73 74 72 69 | 6e 67 2d 74 6f 2d 66 6c |fun stri|ng-to-fl|
|00001b80| 6f 61 74 20 28 73 74 72 | 29 20 22 5c 0a 43 6f 6e |oat (str|) "\.Con|
|00001b90| 76 65 72 74 20 74 68 65 | 20 73 74 72 69 6e 67 20 |vert the| string |
|00001ba0| 74 6f 20 61 20 66 6c 6f | 61 74 69 6e 67 20 70 6f |to a flo|ating po|
|00001bb0| 69 6e 74 20 6e 75 6d 62 | 65 72 2e 0a 41 63 63 65 |int numb|er..Acce|
|00001bc0| 70 74 73 20 61 20 64 65 | 63 69 6d 61 6c 20 73 74 |pts a de|cimal st|
|00001bd0| 72 69 6e 67 20 69 6e 20 | 73 63 69 65 6e 74 69 66 |ring in |scientif|
|00001be0| 69 63 20 6e 6f 74 61 74 | 69 6f 6e 2c 20 0a 77 69 |ic notat|ion, .wi|
|00001bf0| 74 68 20 65 78 70 6f 6e | 65 6e 74 20 70 72 65 63 |th expon|ent prec|
|00001c00| 65 64 65 64 20 62 79 20 | 65 69 74 68 65 72 20 45 |eded by |either E|
|00001c10| 20 6f 72 20 65 2e 0a 4f | 6e 6c 79 20 74 68 65 20 | or e..O|nly the |
|00001c20| 36 20 6d 6f 73 74 20 73 | 69 67 6e 69 66 69 63 61 |6 most s|ignifica|
|00001c30| 6e 74 20 64 69 67 69 74 | 73 20 6f 66 20 74 68 65 |nt digit|s of the|
|00001c40| 20 69 6e 74 65 67 65 72 | 20 61 6e 64 20 66 72 61 | integer| and fra|
|00001c50| 63 74 69 6f 6e 61 6c 20 | 70 61 72 74 73 0a 61 72 |ctional |parts.ar|
|00001c60| 65 20 75 73 65 64 3b 20 | 6f 6e 6c 79 20 74 68 65 |e used; |only the|
|00001c70| 20 66 69 72 73 74 20 74 | 77 6f 20 64 69 67 69 74 | first t|wo digit|
|00001c80| 73 20 6f 66 20 74 68 65 | 20 65 78 70 6f 6e 65 6e |s of the| exponen|
|00001c90| 74 20 61 72 65 20 75 73 | 65 64 2e 0a 4e 65 67 61 |t are us|ed..Nega|
|00001ca0| 74 69 76 65 20 73 69 67 | 6e 73 20 70 72 65 63 65 |tive sig|ns prece|
|00001cb0| 64 69 6e 67 20 62 6f 74 | 68 20 74 68 65 20 64 65 |ding bot|h the de|
|00001cc0| 63 69 6d 61 6c 20 6e 75 | 6d 62 65 72 20 61 6e 64 |cimal nu|mber and|
|00001cd0| 20 74 68 65 20 65 78 70 | 6f 6e 65 6e 74 0a 61 72 | the exp|onent.ar|
|00001ce0| 65 20 72 65 63 6f 67 6e | 69 7a 65 64 2e 22 20 28 |e recogn|ized." (|
|00001cf0| 62 79 74 65 2d 63 6f 64 | 65 20 22 d7 08 09 d8 23 |byte-cod|e "....#|
|00001d00| 83 29 01 c9 1a d9 da 09 | db 5c 22 1b da 09 dc 5c |.)......|.\"....\|
|00001d10| 22 1c 0b 0c 50 1d dd da | 09 de 5c 22 df 5c 22 1e |"...P...|..\".\".|
|00001d20| 06 d8 1e 07 c9 1e 08 0b | 47 0e 0a 5a 89 12 88 0e |........|G..Z....|
|00001d30| 07 0d 47 57 85 3e 00 0d | 0e 07 48 e0 55 85 4b 00 |..GW.>..|..H.U.K.|
|00001d40| 0e 07 54 89 16 07 88 82 | 30 00 88 0a 0e 07 5a 12 |..T.....|0.....Z.|
|00001d50| 0d 0e 07 c9 4f 89 15 88 | 0d 47 0e 0a 56 83 73 00 |....O...|.G..V.s.|
|00001d60| 0d 0e 0a 48 e1 59 16 08 | 0d d8 0e 0a 4f 89 15 82 |...H.Y..|....O...|
|00001d70| 7c 00 0a 0e 0a 0d 47 5a | 5c 5c 89 12 88 e2 e3 e4 ||.....GZ|\\......|
|00001d80| 0d 21 0e 08 83 8b 00 de | 82 8c 00 d8 5c 5c 0e 06 |.!......|....\\..|
|00001d90| 83 96 00 e5 82 97 00 de | 5c 22 21 2e 06 da 09 e6 |........|\"!.....|
|00001da0| 5c 22 1e 0b dd da 09 e7 | 5c 22 df 5c 22 1e 0c d8 |\"......|\".\"...|
|00001db0| 1e 0d d8 1e 0e d8 1e 0f | 0e 11 1e 10 d9 1e 12 e3 |........|........|
|00001dc0| e4 0e 0b d8 0e 13 0e 0b | 47 5e 4f 21 0e 0c 83 d0 |........|G^O!....|
|00001dd0| 00 e5 82 d1 00 de 5c 22 | 0a 5c 5c 89 16 0d 88 0e |......\"|.\\.....|
|00001de0| 0d d8 57 85 e8 00 0e 0d | 5b 16 0d e8 89 16 12 88 |..W.....|[.......|
|00001df0| e9 0e 0d 0e 0a 5c 22 16 | 0e ea 0e 0d 0e 0a 5c 22 |.....\".|......\"|
|00001e00| 89 16 0f 88 0e 0e d8 56 | 85 16 01 eb 0e 12 0e 10 |.......V|........|
|00001e10| 0e 14 23 16 10 0e 0e 53 | 89 16 0e 88 82 fb 00 88 |..#....S|........|
|00001e20| eb 0e 12 0e 10 0e 15 0e | 0f 48 23 2e 07 5c 22 29 |........|.H#..\")|
|00001e30| 82 2b 01 0e 16 87 22 20 | 5b 66 6c 6f 61 74 69 6e |.+...." |[floatin|
|00001e40| 67 2d 70 6f 69 6e 74 2d | 72 65 67 65 78 70 20 73 |g-point-|regexp s|
|00001e50| 74 72 20 70 6f 77 65 72 | 20 69 6e 74 2d 73 75 62 |tr power| int-sub|
|00001e60| 73 74 20 66 72 61 63 74 | 2d 73 75 62 73 74 20 64 |st fract|-subst d|
|00001e70| 69 67 69 74 2d 73 74 72 | 69 6e 67 20 6d 61 6e 74 |igit-str|ing mant|
|00001e80| 2d 73 69 67 6e 20 6c 65 | 61 64 69 6e 67 2d 30 73 |-sign le|ading-0s|
|00001e90| 20 72 6f 75 6e 64 2d 75 | 70 20 6e 69 6c 20 64 65 | round-u|p nil de|
|00001ea0| 63 69 6d 61 6c 2d 64 69 | 67 69 74 73 20 65 78 70 |cimal-di|gits exp|
|00001eb0| 74 2d 73 75 62 73 74 20 | 65 78 70 74 2d 73 69 67 |t-subst |expt-sig|
|00001ec0| 6e 20 65 78 70 74 20 63 | 68 75 6e 6b 73 20 74 65 |n expt c|hunks te|
|00001ed0| 6e 73 20 65 78 70 6f 6e | 65 6e 74 20 5f 66 31 20 |ns expon|ent _f1 |
|00001ee0| 66 75 6e 63 20 65 78 70 | 74 2d 64 69 67 69 74 73 |func exp|t-digits|
|00001ef0| 20 68 69 67 68 65 73 74 | 2d 70 6f 77 65 72 2d 6f | highest|-power-o|
|00001f00| 66 2d 31 30 20 70 6f 77 | 65 72 73 2d 6f 66 2d 31 |f-10 pow|ers-of-1|
|00001f10| 30 20 5f 66 30 20 73 74 | 72 69 6e 67 2d 6d 61 74 |0 _f0 st|ring-mat|
|00001f20| 63 68 20 30 20 66 2a 20 | 65 78 74 72 61 63 74 2d |ch 0 f* |extract-|
|00001f30| 6d 61 74 63 68 20 32 20 | 34 20 65 71 75 61 6c 20 |match 2 |4 equal |
|00001f40| 31 20 22 2d 22 20 34 38 | 20 35 33 20 66 20 2a 20 |1 "-" 48| 53 f * |
|00001f50| 73 74 72 69 6e 67 2d 74 | 6f 2d 69 6e 74 20 2d 31 |string-t|o-int -1|
|00001f60| 20 39 20 38 20 66 2f 20 | 2f 20 25 20 66 75 6e 63 | 9 8 f/ |/ % func|
|00001f70| 61 6c 6c 5d 20 32 33 29 | 29 0a |all] 23)|). |
+--------+-------------------------+-------------------------+--------+--------+